Draft
Conversation
Commented out older PHP versions and Windows 2025 in the test configuration. Updated the extensions to test for Linux and Darwin.
Co-authored-by: Marc <m@pyc.ac>
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request represents a significant refactoring effort to modernize the extension handling system from v2 to v3.0. The PR introduces a comprehensive smoke testing framework, refactors FrankenPHP build logic, updates branding from "static-php-cli" to "StaticPHP", and makes numerous improvements to the build system architecture. Key changes include moving from a monolithic builder approach to a more modular package-based architecture with proper dependency handling and validation.
Changes:
- Added comprehensive smoke test framework for CLI, CGI, micro, embed, and FrankenPHP SAPIs with configurable test skipping via
--no-smoke-testoption - Refactored FrankenPHP build process with new smoke tests and improved handling of the
--with-frankenphp-appoption - Rebranded product from "static-php-cli" to "StaticPHP" across documentation and code
- Added new extension support (apcu) and improved libavif build configuration with optional dependencies
- Enhanced build system with better error handling, build tracking file rename, and improved Makefile path handling
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| src/globals/test-extensions.php | Modified test configuration to focus on pgsql extension testing (significantly reduced coverage) |
| src/StaticPHP/Util/BuildRootTracker.php | Renamed tracker file from .spc-tracker.json to .build.json |
| src/StaticPHP/Package/PhpExtensionPackage.php | Added comprehensive smoke test methods and improved extension name handling |
| src/StaticPHP/Command/Dev/LintConfigCommand.php | Added MOTD suppression and "No changes" output message |
| src/SPC/store/pkg/GoXcaddy.php | Fixed path handling to use hardcoded 'go-xcaddy' directory |
| src/SPC/builder/unix/library/postgresql.php | Removed aarch64 glibc 2.17 patches (moved to new architecture) |
| src/SPC/builder/unix/library/libavif.php | Added optional library dependencies for improved build flexibility |
| src/SPC/builder/unix/UnixBuilderBase.php | Added quote trimming for FrankenPHP app path and ServerHeader build flag |
| src/SPC/ConsoleApplication.php | Version bump to 2.8.3 |
| src/Package/Target/php/unix.php | Major refactoring with new smoke test framework, removed old patches, added sed fix for Makefile paths |
| src/Package/Target/php/frankenphp.php | Renamed methods, added smoke tests, refactored app processing |
| src/Package/Target/php.php | Added frankenphp trait usage and --no-smoke-test option |
| src/Package/Library/postgresql.php | Made explicit_bzero patch macOS-specific |
| src/Package/Library/libacl.php | Added patch description annotation |
| config/source.json | Disabled pre-built flag for libavif |
| config/lib.json | Added libavif dependencies and suggestions |
| config/pkg/ext/ext-apcu.yml | New extension configuration file |
| README.md | Updated branding to StaticPHP |
| README-zh.md | Updated branding to StaticPHP (Chinese) |
| .github/workflows/build-unix.yml | Added with-suggested-libs option and debug log upload |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
henderkes
reviewed
Feb 26, 2026
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ilities of packages
…in postgresql.php
…nd support status
…2, and libpng in Unix build
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Refactor extensions from v2.
Other tasks
dev:dump-stagesanddev:dump-capabilitiescommanddev:get-testcommand for GitHub Actions (3.0: Auto-detect changes and produce tests on demand #1005)Extensions